package com.ctint.petdida;

import java.util.LinkedList;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;

import com.ctint.petdida.adaptadores.AdapterRefugio;
import com.ctint.petdida.adaptadores.AdapterVeterinaria;
import com.ctint.petdida.clases.Refugio;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.sax.Element;
import android.text.util.Linkify;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;
import greendroid.app.GDActivity;
import greendroid.app.GDListActivity;

public class ListRefugios extends GDActivity{
	
	private PetDidaApplication application;
	
	private ListView listRefugios;
	
	final static String POSITION_KEY = "position";
	
	private SQLiteDatabase dataBase;
	private SqliteBD mySQLiteHelper;

	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setActionBarContentView(R.layout.lista_refugios);
        setTitle("REFUGIOS");
        
        mySQLiteHelper = new SqliteBD(this, "DBpetDida", null, 1);
        
        listRefugios = (ListView)findViewById(R.id.lista_refugios);
       
        application = ((PetDidaApplication)getApplication());
        
        if( application.getDataRefugios() == null){
        	Toast.makeText(this, "No hay Registros ir a Configuraciones para Descargar", Toast.LENGTH_SHORT);
        	//** LOAD DATA **//
        	application.setDataRefugios(obtenerRefugios());
        	
        	//** SET DATA **//
        	listRefugios.setAdapter(new AdapterRefugio(this, R.layout.row_refugio, 0, application.getDataRefugios()));
        }else{
        	//** LOAD DATA **//
        	application.setDataRefugios(obtenerRefugios());
        	
        	//** SET DATA **//
        	listRefugios.setAdapter(new AdapterRefugio(this, R.layout.row_refugio, 0, application.getDataRefugios()));
        }
        
        listRefugios.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> l, View v, int position, long id) {
				Intent intent = new Intent(getBaseContext(), DetalleRefugio.class);
				intent.putExtra(POSITION_KEY, position);
				startActivity(intent);
			}
		});
    }
    

	private LinkedList<Refugio> obtenerRefugios() {
		
		//Configuracion para lista Refugios
		LinkedList<Refugio> refugios = new LinkedList<Refugio>();
		
		dataBase = mySQLiteHelper.getWritableDatabase(); 
		Cursor cursorUno = dataBase.rawQuery("SELECT * FROM TableRefugios", null);
		if (cursorUno.moveToFirst()) {
			do {
				Refugio refugio = new Refugio();
				String nombre = cursorUno.getString(0);
				Log.i("NOMBRE:", nombre); refugio.setNombre(nombre);
				String lat = cursorUno.getString(1);
				Log.i("LAT:", lat);	refugio.setLatitud(lat);
				String lon = cursorUno.getString(2);
				Log.i("LON:", lon);	refugio.setLongitud(lon);
				String url = cursorUno.getString(3);
				Log.i("URL:", 	url);	refugio.setUrl(url);
			    String descripcion = cursorUno.getString(4);
			    Log.i("DESCRIPCION:", descripcion); refugio.setDescripcion(descripcion);
			    String telefono = cursorUno.getString(6);
			    Log.i("TELEFONO:", telefono);	refugio.setTelefono(telefono);
			    String imagen = cursorUno.getString(5);
			    Log.i("IMAGEN:", imagen);	refugio.setImagen(imagen);
			    
			    refugios.add(refugio);
			    
				} while(cursorUno.moveToNext());
			}else
				Log.i("Data Base:", "No hay registros");
		dataBase.close();
		return refugios;
	}
}
